package com.benshou.bcss.common.db;

import com.google.common.base.CaseFormat;
import com.google.common.base.Converter;
import lombok.NonNull;

/**
 * 数据库常量类
 *
 * @author <a href="mailto:liuzhenbang@benshou.com">Liu Zhenbang</a>
 */
public class DBCts {

    /**
     * 转换器：Java 字段名 -> 数据库字段名
     */
    public static final Converter<String, String> JAVA_FIELD_NAME_TO_DB_COLUMN_NAME_CONVERTER =
            CaseFormat.LOWER_CAMEL.converterTo(CaseFormat.LOWER_UNDERSCORE);

    /**
     * Java 字段名 转为 数据库字段名
     *
     * @param fieldName Java 字段名
     * @return 数据库字段名
     */
    public static String toColumnNameByFieldName(@NonNull String fieldName) {
        return JAVA_FIELD_NAME_TO_DB_COLUMN_NAME_CONVERTER.convert(fieldName);
    }
}
